package com.example.chessbattleplatform.web.room_board.Pojo.mapper;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "room_board")
public class BoardDataMapper {
    /**    SQl
     *      -- 适合用 <Redis> 存储
     *      -- 游戏房间棋盘表
     *      create table if not exists room_board
     *      (
     *          id_rooms      varchar,   -- 房间ID，外键，关联rooms表
     *          user_id_black INT,       -- 蓝方 用户ID
     *          user_id_white INT,       -- 红方 用户ID
     *          board_data    varchar,   -- 棋盘数据，json格式
     *          created_at    TIMESTAMP, -- 创建时间，默认当前时间戳
     *          updated_at    TIMESTAMP  -- 更新时间，每次更新时自动设置为当前时间戳
     *      );
     * */
    private String idRooms;

    private String userIdBlack;
    private String userIdWhite;

    private String boardData;

    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdAt; // 创建时间，默认当前时间戳

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt; // 更新时间，每次更新时自动设置为当前时间戳
}
